import api from "../../api/label.js";
import premissonsFunc from '../../utils/permissions.js'

Page({
  data: {
    pageSize: 10, // 当前多少页
    pageNo: 0, // 现在多少页
    total: 0, // 总数
    scanList: [],
    isNoMore: false,
    triggered: true,
    isScanCodePage: 0,
    showScanDialog: false,
    scanResultList: [],
    scanSuccess_desc: '',
    isPermission: true
  },
  async onLoad() {
    wx.hideToast()
    const data = await this.openLoginDialog()
    if (data) {
      // premissonsFunc().then(res => {
      //   this.getData(1); //默认传入第一页
      //   // this.onPageInfo()
      // })
      this.getData(1); //默认传入第一页
    }
  },
  async onShow() {
    const data = await this.openLoginDialog()
    if (data) {
      // premissonsFunc().then(res => {
      //   this.getData(1); //默认传入第一页
      //   this.onPageInfo()
      // })
      const userInfo = wx.getStorageSync('userInfo') ? JSON.parse(wx.getStorageSync('userInfo')) : {}
      this.setData({
        isPermission: userInfo.status === 0
      })
    }

    setTimeout(() => {
      if (this.data.scanList?.length === 0) {
        this.getData(1); //默认传入第一页
      }
    }, 2000)

    // const app = getApp();
    // if (app.globalData.labelCodes?.length) {
    //   api.cancelStatus({
    //     labelCodes: app.globalData.labelCodes
    //   }).then(res => {
    //     app.globalData.labelCodes = []
    //     this.setData({
    //       showScanDialog: true,
    //       scanResultList: res.data,
    //     })
    //     this.refresh()
    //   })
    // } else {
    //   this.setData({
    //     showScanDialog: false,
    //     scanResultList: [],
    //   })
    // }
  },
  refresh() {
    this.getData(1); //默认传入第一页
    this.setData({
      triggered: false
    })
  },
  // onPageInfo() {
  //   setTimeout(() => {
  //     if (this.data.isScanCodePage) {
  //       this.onShow()
  //       this.setData({
  //         isScanCodePage: 0
  //       })
  //     }
  //   }, 800)
  // },
  async openLoginDialog() {
    const that = this
    if (!wx.getStorageSync("accessToken")) {
      console.log(wx.getStorageSync("accessToken"))
      wx.showModal({
        content: '该服务需要登录才可以操作，请先登录',
        confirmText: '去登陆',
        cancelText: '取消',
        success(res) {
          if (res.confirm) {
            wx.switchTab({
              url: '/pages/my/index',
            })
          }
        },
        complete() {
          that.setData({
            triggered: false
          })
        }
      })
      return false
    }
    return true
  },
  // 触底分页函数
  paging() {
    // 当前页 < 最后页
    if (this.data.pageNo < this.data.total) {
      // 调用列表函数pageNo+1
      this.getData(this.data.pageNo + 1)
    }
  },
  //获取列表接口----page..接受实参
  getData(pageNo) {
    //接口获取
    api.cancelRecordPage({
      pageNo: pageNo, //当前页
      pageSize: this.data.pageSize, //需要多少条数据
    }).then(res => {
      //判断接口返回是否有值
      if (res.code == 0) {
        //判断是否为第一页
        if (pageNo == 1) {
          //赋值
          this.setData({
            scanList: res.data.list, //列表数据
            total: res.data.total,
            pageNo
          })
        } else {
          //拼接数据concat
          this.setData({
            scanList: this.data.scanList.concat(res.data.list), //拼接列表数据
            isNoMore: res.data.list?.length == 0,
            pageNo
          })
        }
      } else {
        //否则置空
        this.setData({
          scanList: [], //置空列表数据
        })
      }
      this.setData({
        triggered: false
      })
    })
  },
  async onScancode() {
    if (await this.openLoginDialog()) {
      wx.navigateTo({
        url: '/pages/scan/index',
      })
      this.setData({
        isScanCodePage: 1
      })
    }
  },
  onShareAppMessage(res) {
    return {
      title: '广州源之创食品有限公司',
      path: '/pages/index/index',
      imageUrl: 'https://www.yuanzhichuang.top/image/image.jpg',
    }
  },
  onShareTimeline(res) {
    return {
      title: '广州源之创食品有限公司',
      path: '/pages/index/index',
      imageUrl: 'https://www.yuanzhichuang.top/image/image.jpg',
    }
  }
})